- Published on
删除 CocosCreator 项目中多余的 meta 文件
- Authors

- Name
- Muzzik(马赛克)
在 CocosCreator 中,最近的版本不会删除多余的 meta 文件(只有 meta 文件而没有对应文件)
直接用 GPT 生成的代码改了下,直接用 ts-node 运行就行,deleteMetaFiles 参数替换为自己项目的路径
import fs from 'fs'
import path from 'path'
function deleteMetaFiles(folderPath: string) {
// 读取文件夹中的内容
fs.readdir(folderPath, (err, files) => {
if (err) {
console.error('Error reading folder:', err)
return
}
// 遍历文件夹中的每个文件或文件夹
files.forEach((file) => {
const filePath = path.join(folderPath, file)
// 检查当前路径是否是文件夹
fs.stat(filePath, (err, stats) => {
if (err) {
console.error('Error retrieving file stats:', err)
return
}
if (stats.isDirectory()) {
// 如果是文件夹,则递归调用 deleteMetaFiles() 函数来处理子文件夹
deleteMetaFiles(filePath)
} else if (filePath.endsWith('.meta')) {
// 如果是文件,并且存在相应的 .meta 文件,则删除它
const metaFilePath = filePath.slice(0, -5)
if (!fs.existsSync(metaFilePath)) {
fs.unlink(filePath, (err) => {
if (err) {
console.error('Error deleting .meta file:', err)
} else {
console.log('Deleted .meta file:', filePath)
}
})
}
}
})
})
})
}
// 调用函数开始遍历并删除单独的 .meta 文件
deleteMetaFiles('I:/creator/mk_framework/assets')
